The present invention relates to interfaces for hardware devices, and more specifically, to methods and systems for testing a software interface for a streaming hardware device through simulation.
Recently, the use of special purpose hardware devices for performing processor intensive functions has been increasing. These hardware devices may be used for data manipulation operations, such as data compression, encoding, or the like either in a single operation or in a streaming model where multiple requests are related. These streaming hardware devices, such as data manipulation devices, often have different performance attributes, such as speed and latency, than a general processor performing similar operations in pure software. For example, an increased overhead may be incurred in communicating with a streaming hardware device as compared with a general processor.
In general, in order for the streaming hardware devices to be used by a processor a software interface is required. The software interface allows the processor and applications to utilize the streaming hardware devices to perform processor intensive functions. As the use of streaming hardware devices for applications continues to increase, the software interfaces that will exploit these devices need to be tested.